Skip to content

Add tqdm dependency for progress bar feature#28

Draft
delalamo wants to merge 10 commits intomainfrom
claude/fix-failing-tests-P4Vp0
Draft

Add tqdm dependency for progress bar feature#28
delalamo wants to merge 10 commits intomainfrom
claude/fix-failing-tests-P4Vp0

Conversation

@delalamo
Copy link
Copy Markdown
Owner

The progress bar feature added in PR #20 requires tqdm, but it was not added to the dependencies list. This caused the integration tests to fail with an ImportError when importing graphrelax modules.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg

The progress bar feature added in PR #20 requires tqdm, but it was not
added to the dependencies list. This caused the integration tests to
fail with an ImportError when importing graphrelax modules.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
The logging configuration had two issues:
1. logging.basicConfig() does nothing if handlers already exist on the
   root logger (e.g., from imported modules)
2. Third-party libraries (ProDy, OpenMM) have their own loggers that
   weren't being silenced

This fix clears existing handlers before configuring and explicitly
silences verbose third-party loggers.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
@delalamo
Copy link
Copy Markdown
Owner Author

Getting a weird logging bug at runtime that makes this look dumb. Need to investigate further

@delalamo delalamo marked this pull request as draft January 25, 2026 16:50
@delalamo delalamo force-pushed the claude/fix-failing-tests-P4Vp0 branch from 83b7337 to b0ee19d Compare January 25, 2026 16:53
The logging configuration had two issues:
1. logging.basicConfig() does nothing if handlers already exist on the
   root logger (e.g., from imported modules)
2. Third-party libraries (ProDy, OpenMM) have their own loggers that
   weren't being silenced

This fix clears existing handlers before configuring and explicitly
silences verbose third-party loggers.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
@delalamo delalamo force-pushed the claude/fix-failing-tests-P4Vp0 branch from b0ee19d to a959b02 Compare January 25, 2026 16:54
delalamo and others added 7 commits January 25, 2026 12:17
The "ProDy is configured" message appeared twice because confProDy()
was called in both cli.py and data_utils.py. Removed the call from
cli.py since data_utils.py already handles it at import time.

Also clear any handlers that third-party loggers may have added to
ensure they respect our log level settings.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
The previous logging changes that removed handlers from root and
third-party loggers were causing the application to hang. Reverted
to a simpler setup using basicConfig with force=True.

The force=True parameter ensures our configuration takes effect even
if logging was configured by imported modules.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
ProDy's debug messages were appearing because:
1. confProDy(verbosity="none") in data_utils.py runs before our logging
   configuration
2. ProDy's loggers weren't being silenced

Added silence_third_party_loggers() which:
- Calls confProDy(verbosity="none") to silence ProDy's internal logging
- Sets ProDy-related Python loggers to ERROR level

This is called after the heavy imports complete, ensuring the loggers
exist and can be properly configured.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
- Modified data_utils.py to silence ProDy loggers BEFORE importing prody
- This prevents any debug messages from appearing during import
- Renamed silence_third_party_loggers() to configure_third_party_loggers()
- When --verbose is set, ProDy logging is re-enabled to debug level
- When not verbose, ProDy stays completely silent

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
Using logging.disable(logging.CRITICAL) to completely suppress all
logging output during the prody import and confProDy call. This
prevents any debug/info messages from getting through regardless of
logger configuration.

logging.disable(logging.NOTSET) restores normal logging after import.

https://claude.ai/code/session_01QUT5Lv9GyV2Qs35A4TbxZg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants